/*题目：台阶总共有n级，一次可以上1级，也可以上2级，还可以上3级，但不能超过3级（因
为跨度太远了）。请问总共有多少种走法？通过编写一个函数，传入一个整数，返回走法的
总数。（采用函数递归形式求解int staircount(int n)）(考查函数嵌套)
调用样例：
staircount(20);
返回样例：
121415
*/
#include<stdio.h>
int staircount(int n);
int main(void)
{
    int n;
    scanf("%d",&n);
    printf("%ld",staircount(n));
    return 0;
}

int staircount(int n)
{
    if (n == 2 || n == 1)
       return n;
    else if (n == 3)
    {
        return 4;
    }
    else
    {
        return staircount(n - 1) + staircount(n - 2) + staircount(n - 3);
    }
    
      
}